Computer and other data processing devices are often interconnected through communication networks, such as RF communication links, public and private telecommunication networks, and local and wide area networks. This connectivity allows the devices to engage in electronic data communication. Even though electronic data communication is a ubiquitous fact of modern life, different types of data communications pose different problems. For example, the electronic communication of a large quantity of data may so sufficiently tax the resources of a communication network that the cost of the communication exceeds its value. In another example, the electronic communication of certain sensitive data, such as financial transaction data, may accomplish little unless the sending and receiving parties can be assured that accurate and authentic data are communicated.
Data compression provides a solution to the problem of communicating a large quantity of data. A large quantity of data may be compressed by removing redundant or unnecessary information before transmission, then the compressed data are transmitted through the network and expanded after receipt. With "loss-less" compression, hereinafter referred to simply as compression, the received data may be expanded to precisely the same data that were compressed. With "lossy" compression, hereinafter referred to as reduction, the general informational content of a communication can be reconstructed after receipt, but the reconstructed data typically are not precisely the same as the original data.
Compression standards such as Microcom Network Protocol (MNP) service classes 5 and 7 and V.42 bis achieve average compression ratios from 2:1 to 3.5:1 for typical data communications. Reduction techniques rely upon the application of intelligence concerning the type of data being reduced to extract important information and exclude unimportant information. Reduction techniques may achieve much higher compression ratios than can be achieved through compression. Thus, data reduction is a highly desirable solution to the problem of communicating large quantities of data.
Digital signatures provide a solution to the problem of communicating sensitive data. Traditionally, digital signature schemes use a hashing function to determine a checksum or other characteristic number that is extremely unlikely to be duplicated by "hashing" a different message. This characteristic number is encrypted using a sender's private encryption key to form a digital signature. The digital signature is then attached to the message for communication to a destination. At the destination, the sender's public key is used to decrypt the signature, and the message is again hashed to re-generate a characteristic number. The re-generated characteristic number should correspond to the results obtained from decrypting the digital signature. Various digital signature schemes are known, including RSA and Digital Signature Standard (DSS). These schemes generally provide assurances that the received message is accurate and that the sending party is authentic.
While data reduction is a highly desirable solution to communicating a relatively large quantity of data, this solution is incompatible with the communication of digital signatures. Since data reduction techniques do not precisely reconstruct a communicated message, a digital signature computed over an original message does not verify against the reconstructed message. Accordingly, a need exists for a method and apparatus that relays digital messages within a communication network and is consistent with both data reduction techniques and digital signature schemes.